<?php
$arrNews['title'] = trim(absolutelyEscapeString($_POST['title']));
$arrNews['text'] = absolutelyEscapeStringFromWysiwyg($_POST['text']);
$arrNews['annotation'] = trim(absolutelyEscapeString($_POST['annotation']));
$arrNews['date'] = absolutelyEscapeString($_POST['date']);
$arrNews['ID_news'] = intval($_POST['ID_news']);

try{
	$e = new Exception_Multiline();
	if (strlen($arrNews['title']) < 2)
		$e[] = 'Заголовок слишком короткий';
	if (strlen($arrNews['annotation']) < 2)
		$e[] = 'Аннотация слишком короткая';
	if (strlen($arrNews['text']) < 2)
		$e[] = 'Текст слишком короткий';
	if (!empty($arrNews['date']))
		if (ereg ("([0-9]{2}).([0-9]{2}).([0-9]{4})", $arrNews['date'], $regs)){
			$arrNews['date'] = $regs[3] . '-' . $regs['2'] . '-' . $regs['1'];
		}
		else 
			$e[] = 'Не верный формат даты (дд.мм.гггг)';
	else 
		$e[] = 'Дата не заполнена';
		
	if ($e->isErrorExists()) // Если мы зафиксировали какие-то исключения, то выдаем окончательное исключение
     throw $e;
	else{
		if ($arrNews['ID_news']){
			News::updateNews($arrNews, $arrNews['ID_news']);
			$objSession->saveSuccessMessage('Новость упешно обновлена');
		}
		else {
			News::addNews($arrNews);
			$objSession->saveSuccessMessage('Новость упешно добавлена');
		}
		header('HTTP/1.1 301 Moved Permanently');
		header('Location: ' . W_ABSPATH . 'news');
		exit();
	}
}
catch(Exception_Multiline $exM){
  $error = NULL;
  foreach ($exM as $eM) //Проходим по всем исключениям
    $error .= $eM . '<br />';  // Выводим отдельно взятое исключение
  User_User::setUserMessage($error, -1);
}
?>